package tum0r.webengine.annotations

import tum0r.webengine.enums.database.ETableFieldType
import kotlin.reflect.KClass

/**
 * 说明: 数据库字段的注解
 *
 * 创建者: tum0r
 *
 * 时间: 2021/8/22 10:39
 *
 * @param[fieldType] 字段类型w
 * @param[length] 字段为索引时索引的长度
 * @param[targetClass] 字段为外键时关联的表的类，此外键为逻辑外键
 * @param[key] 字段为外键时关联的表的字段名
 */
@Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.FIELD)
annotation class TableField(val fieldType: ETableFieldType = ETableFieldType.INDEX, val length: Int = 255, val targetClass: KClass<*> = TableField::class, val key: String = "")